﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using log4net;
using ServicioRFIDMovil.Entidad;
using ServicioRFIDMovil.DataAccess;
using ServicioRFIDMovil.Herramientas;
using System.Data;

namespace ServicioRFIDMovil.Datos
{
    public class EtiquetaDA
    {
         #region --- Variables y Constantes ---
        private static readonly ILog log = LogManager.GetLogger(typeof(BienDA));

        private const string PARAM_IDBIEN = "P_IIDBIEN";
        private const string PARAM_EPC = "P_VCODEPC";
        private const string PARAM_USUARIOETIQUETACREA = "P_IIDUSUARIOREGISTRA";
 
        private const string PARAM_USUARIOETIQUETAMODI = "P_IIDUSUARIOEDITA";
        private const string PARAM_ESTADOETIQUETA = "P_BHABILITADO";
        #endregion

        #region --- Metodos Propios ---


        public bool registrarBienEtiqueta(Etiqueta etiqueta)
        {
            bool resultado = false;

            if (log.IsDebugEnabled)
            {
                log.Debug("registrarBienEtiqueta()");
            }

            using (Database db = new Database(ConstantesDAO.NombreInterface.ConexTvperu))
            {
                db.NombreProcedimiento = DataBaseHelper.obtenerNombreProcedimiento(Constantes.PROCEDIMIENTO_RFID_REGISTRARBIENETIQUETA);
                db.agregarParametro(PARAM_EPC, DbType.String, ParameterDirection.Input, etiqueta.epc);
                db.agregarParametro(PARAM_IDBIEN, DbType.Int32, ParameterDirection.Input, etiqueta.bien.idBien);
                db.agregarParametro(PARAM_USUARIOETIQUETACREA, DbType.Int32, ParameterDirection.Input, etiqueta.usuarioRegistra.idUsuario);

                db.ejecutar();

                resultado = true;
            }

            return resultado;
        }

        public bool modificarBienEtiqueta(Etiqueta etiqueta)
        {
            bool resultado = false;

            if (log.IsDebugEnabled)
            {
                log.Debug("modificarBienEtiqueta()");
            }

            using (Database db = new Database(ConstantesDAO.NombreInterface.ConexTvperu))
            {
                db.NombreProcedimiento = DataBaseHelper.obtenerNombreProcedimiento(Constantes.PROCEDIMIENTO_RFID_MODIFICARBIENETIQUETA);
                db.agregarParametro(PARAM_IDBIEN, DbType.Int32, ParameterDirection.Input, etiqueta.bien.idBien);
                db.agregarParametro(PARAM_EPC, DbType.String, ParameterDirection.Input, etiqueta.epc);
                db.agregarParametro(PARAM_ESTADOETIQUETA, DbType.Int32, ParameterDirection.Input, etiqueta.habilitado);
                db.agregarParametro(PARAM_USUARIOETIQUETAMODI, DbType.Int32, ParameterDirection.Input, etiqueta.usuarioEdita.idUsuario);


                db.ejecutar();

                resultado = true;
            }

            return resultado;
        }
       
        #endregion
    
    }
}
